package org.example.demos.pattern.chain_pattern_reference;

import org.springframework.stereotype.Component;

/**
* 支付限购
*/
@Component
public class OrderBuyLimitChecker extends AbstractChecker implements IChecker {
//
//	@Resource
//    private PayRecordService payRecordService;
 
	// 校验器对应的code
	@Override
	public String getCheckCode() {
		return CheckerConfig.ORDER_LIMIT_CHECKER_CODE;
	}
	
	@Override
	public void action(CheckParam checkParam, CheckContext checkContext) {
//		String result = TradeLimitCodeEnum.SUCCESS.getCode();
//		try {
//			// 功能开关
//			if (!ConfigManager.getBoolean("buy.limit.check.switch", true) || isInBuyLimitWhiteList(checkParam.getAppId())) {
//				return;
//			}
//			// 前置校验
//			if (checkParam(checkParam)) {
//				return;
//			}
//			// 支付限购校验逻辑
//			if (payRecordService.queryNumberOfPay(checkParam) >= checkParam.getLimitNum()) {
//				result = TradeLimitCodeEnum.BUY_LIMIT.getCode();
//			}
//		} catch (Exception e) {
//			log.error("PayLimitChecker_action_error.", e);
//		}
//		buildResult(getCheckCode(), result, checkContext);
	}
 
	/* ... */
 
}